* merge and purge
* angularjs and backend
* have everything wait for this nested modal
* toward handling canceled perm denied op change dialogs in volcopy
* final piece; now needs some rigorous testing
* thinko with naming
* worklog for hold cancellation
Signed-off-by: Jason Etheridge <phasefx@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
* check CREATE_COPY
* perm testing, but need to switch from workstation lib to owning libs
* correct perm checking
* right place in the lifecycle to test for modal conditions
* hello dialog. Need dispatch actions
* dialog says hi back
* permissible items filtering
* useful addition to AlertDialogComponent
* remind staff of filtered out items upon save
* make sure the widgets are editable after a filtering
* operator change
* test old and new orgs in updated copies against UPDATE_COPY
Signed-off-by: Jason Etheridge <phasefx@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
LP1915464 Angular Form Field Order - Hold Policies
Attempts to apply some logical order to the extensive field list for
Administration > Local Administration > Hold Policies (as opposed to
the fields being displayed alphabetically). New order is roughly
Description - Active - Owning & Circ Libs - Record & Item Info -
User Info - Hold Info - Transit Info.
Release-note: Reorders fields for Local Admin > Hold Policies
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Stephanie Leary [Wed, 6 Dec 2023 17:45:53 +0000 (17:45 +0000)]
LP1615805 No inputs after submit in patron search (AngularJS)
Updates the source order of the AngularJS patron search form's reset and
submit buttons to the end so that no input fields appear after the
submit button, as required for accessibility. This results in an awkward
tabbing order for sighted users, but is intended as an interim step
toward better accessibility while we rethink the overall design of the
form.
The visual layout of the form has not changed at desktop sizes, but
there are now phone and tablet layouts as well.
The Reset button now uses the .btn-destroy style.
Release-note: Moves submit button to end of AngularJS patron search form
Stephanie Leary [Tue, 5 Dec 2023 23:23:28 +0000 (23:23 +0000)]
LP1615805 No inputs after submit in patron search (Angular)
Updates the source order of the Angular Circulation patron search form's
reset and submit buttons to the end so that no input fields appear after
the submit button, as required for accessibility. This results in an
awkward tabbing order for sighted users, but is intended as an interim
step toward better accessibility while we rethink the overall design of
the form.
The visual layout of the form has not changed at desktop sizes, but
there are now phone and tablet layouts as well.
Release-note: Moves submit button to end of Angular patron search form
Galen Charlton [Tue, 26 Mar 2024 14:38:25 +0000 (10:38 -0400)]
LP#1949214: do not jump-on-single-hit when doing metarecord search in staff catalog
This patch fixes an issue where the staff catalog search would attempt to
jump to a bib record whose ID was the same as the metarecord when doing
a metarecord ("Group Formats/Editions") search that returns a single hit.
Unlike the OPAC, this patch does not attempt to jump to the bib when
the single metarecord has only one constituent record.
To test
-------
[1] Turn on the "Jump to details on 1 hit (staff client)" library
setting.
[2] Perform a metarecord search in the staff catalog that results in
a single hit. Observe that the staff catalog jumps to an incorrect
record (or no record at all).
[3] Apply the patch and repeat step to. This time, the catalog should
display the correct search results without attempting to jump
to a single record.
[4] Verify that the patch does not break jumping to the record when
doing a non-metarecord search that returns a single hit.
Release-note: Fixes problem where the staff catalog could attempt to jump to an
incorrect record when performing a metarecord search that returns a single result.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP2052641 Statistical Popularity Badge Editor Field Order
This adjusts the order the fields appear in the grid columns and
in the modal for Administration > Local Administration > Statistical
Popularity Badges to match the order they are described in the
Evergreen documentation.
Release-note: Reorders the fields for Local Admin > Statistical
Popularity Badges
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP1839875 Circulation Duration Rule Fields - User-Friendly Order
This applies a user-friendly order to the Administration > Server
Administration > Circulation Duration Rules columns and modal.
(Prior to this change, the fields displayed in alphabetical order.)
Release-note: Re-orders Server Admin > Circulation Duration Rules fields
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
This applies a more user-friendly field order to the Admin >
Server Admin > Circulatiuon Max Fine Rules page columns and
modal. (Prior to this, the order was alphabetical.)
Release-note: Re-orders fields on Server Administration > Circulation Max Fine Rules
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Tue, 19 Dec 2023 16:04:35 +0000 (16:04 +0000)]
LP2042879 Shelving Location Groups Admin accessibility
Fixes duplicate groups in the All Shelving Locations list.
Corrects various accessibility issues in Admin > Local > Shelving
Location Groups:
* Keyboard support for all buttons, including up/down arrow key support
for drag and drop
* Labels for all inputs, including checkboxes
* List and table markup, to provide context and navigation options for
screen reader users
* Headings, for screen reader navigation
* Responsive layout to allow content to reflow when text is zoomed in
This also revises the drag and drop logic so that the position numbers
increment from the last unchanged position rather than their previous
value (which could result in unnecessarily large numbers).
Release-note: Refactors Shelving Location Groups Admin for accessibility
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Shula Link <slink@gchrl.org>
* Tighten up parsing of Release-notes: tags per a suggestion from Jason Stephenson
* Recognize Co-authored-by tags
* Recognize Signed-off-by tags that do not have email addresses
* Put bug number at the end of the notes to follow current practice
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
extract_release_notes_from_commits.pl, found in docs/tools in the
source tree, looks for release note, author, committer,
reviewer, and sponsor information from a stream of commits
in the branch specified by the --current-branch option
from the commit that is the common ancestor of the branch
specified by --prev-release-branch, which will normally be
a tag branch for a previous release.
The output (sent to standard output) is AsciiDoc suitable for
pasting in release notes listing the short release notes (as
entered in Release-note tags in the commit messages), the
contributors (defined as patch authors, committers, and reviewers
from the Signed-off-by tags in the commit messages) and sponsors
(from the Sponsored-by tags in the commit messages).
The output of this script should be proofread before publishing
release notes.
Usage:
--prev-release-branch=<Git commit reference>
Branch identifying the previous release to compare
against. Would be something like origin/tags/rel_3_12_0
--current-branch=<Git commit reference>
Branch to look for commits on. If not specified, defaults
to "HEAD"
--help
Print this help message
To test
-------
[1] Ensure that your Git checkout is up to date.
[2] Run the tool and compare its output with what you would
expect from a manual inspection of the Git commit log.
Release-note: New development tool to help prepare release notes using information from Git commits.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
The remoteauth.cgi script is obsolete now that we have an EZProxy
integration method that uses auth profiles.
Release-Note: Removes obsolete remoteauth.cgi example script.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Terran McCanna [Mon, 10 Dec 2018 19:17:42 +0000 (14:17 -0500)]
LP#2002572 Alert when no hold notification options
Present an alert if no notification options are selected in the OPAC.
Fixed the removed classes used for counting the number of notification
methods used.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Gina Monti <gmonti@biblio.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
Jane Sandberg [Thu, 30 Jan 2020 19:40:13 +0000 (11:40 -0800)]
LP1821094: Add an AngularJS module that runs promises in batches
This service helps to reduce server load for repetitive OpenSRF
calls by dividing a large array of promises into batches. It
maintains the original order of the array when returning results.
Within each batch, calls are sent simultaneously. The batches
themselves are run sequentially.
This represents a middle ground between running a ton of OpenSRF
calls sequentially -- which leads to a long wait for the user --
and running them simultaneously, which can result in some serious
wait times.
One use case is when you need to get several rows from pcrud,
but the order of results is important and can't be just passed
using orderBy.
To use, you can just replace $q.all with egBatchPromises.all
This also changes the item status refresh code to use
egBatchPromises.all instead of $q.all, in response to some
pcrud-monopolizing noted in
https://bugs.launchpad.net/evergreen/+bug/1821094/comments/14
Release-note: Improves performance of item refresh after batch editing
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxoli.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jane Sandberg [Sun, 28 Apr 2019 17:57:30 +0000 (13:57 -0400)]
LP1821094: Improve item status reload performance
To test:
1) Create a file with 500 or more item barcodes.
2) Load your file into Item Status.
3) Select a few rows.
4) Go to Actions > Edit > Items.
5) Make some changes, then Save and Exit.
6) Time how long it takes between clicking
"Save and Exit" and when the grid actually
refreshes.
7) Repeat steps 2-6, but use Actions > Edit
> Call Numbers instead.
8) Apply this commit.
9) Repeat steps 2-7. The time should be much
faster with this commit.
10) Verify that no columns lose their data
when refreshed, especially monograph parts
and in-house use count.
11) Note that there is also a progress bar.
Terran McCanna [Tue, 19 Mar 2024 17:56:21 +0000 (13:56 -0400)]
LP1086550 Not clear to patron how to deselect a facet
Adds an X icon in front of a selected search facet on the Bootstrap OPAC
search results screen. Hides X from screen-readers and from tab
navigation to eliminate redundant noise / effort.
Release-note: Adds an X icon to selected search facets in OPAC.
Jason Stephenson [Tue, 26 Mar 2024 15:37:08 +0000 (11:37 -0400)]
LP#2404514: Disable StrictHostKeyChecking in Net::SFTP::Foreign
Set the StrictHostKeyChecking option to no when using
Net::SFTP::Foreign. Doing so allows the connection to proceed if
we've never connected to the server before or if the host key changes.
Note: This change has implications for security. It should be kept as
a stand-alone commit in case a site decides to remove it.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Ken Cox [Mon, 18 Mar 2024 18:15:59 +0000 (14:15 -0400)]
LP#2057948: Add Idempotency-Key to prevent duplicate stripe requests
* Create key from sorted list of transaction IDs passed through md5_hex.
* Do not include xact param for now, since I am not sure what it is;
xact_misc is the list of transaction IDs selected in the payment form.
* Pass header through -ua_args option when constructing the Stripe obj,
because the per-request method is not published yet to CPAN.
Tested with manual code on Ubuntu 22 LTS and Business::Stripe 0.07.
Release-note: Adds idempotency to Stripe to prevent duplicate payments
Signed-off-by: Ken Cox <kenstir@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
This patch also adds a "FIXME" to better signal an area
where the patch author was uncertain of how to properly
signal to Angular Forms when the OU selector has an invalid
value.
Added new check to the hold component that disables the 'Place Hold(s)' button if the
pickup location is empty or from the list of orgs that are shown but not
valid pickup locations.
Also modified the org-select component to check if the org it has
selected is supposed to be disabled. When the org-selector
is required, it will have the relevant class applied and have a little
green or red slice. NOTE: The validity is applied in a somewhat hacky way that doesn't
appear to be the official Angular way. It might not signal properly if
used in a form.
Steps to test:
[1] In the staff client, go to Cataloging -> Search the Catalog
[2] Search for something attempt to Place a Hold on it
[3] Click on the Pickup Location input
[4] Use the arrows and press tab to select an illegal pickup lib
[5] Note the color on the input and the transparency of the button
[6] Select a valid pickup location
[7] Select a valid user for the hold
[8] Note the color on the input and transparency of the button
Release-Note: Prevents holds with an invalid pickup location selected from being placed in the angular catalog
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org>
To test carousel creation from item buckets:
1. Create an item bucket
2. Add a variety of items to your bucket
3. Select all items
4. Open the buckets menu
5. Under items, select "Create Carousel from Bucket"
6. Give your new carousel a name
7. Go to Local Admin > Carousels and confirm that a carousel
now appears.
8. Open the record bucket for the new carousel and confirm
that it contains all the titles for the items.
To test carousel creation from item status:
1. Scan items into item status
2. Select all items
3. Open the actions menu
4. Select "Create Carousel from Selected Items"
5. Repeat steps 6-8 above
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Andrea Buntz Neiman <abneiman@EquinoxOLI.org> Signed-off-by: Katie Greenleaf Martin <kgm@sparkpa.org> Signed-off-by: Blake <blake@mobiusconsortium.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Gina Monti [Sat, 13 Jan 2024 14:20:38 +0000 (09:20 -0500)]
LP#1929596: Adds help popover text next to 'Convert change to patron
credit'
Search for a patron
Go to Bills
Note the popover text next to 'Convert change to patron credit' modifier
Release-note: Adds help button for 'Convert change to patron credit' on patron bills
Signed-off-by: Gina Monti <gmonti@biblio.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
<eg-help-popover help-text="[% l('Applies any remaining amount after payment to the patron account for future use.') %]">#
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Steven Mayo [Tue, 23 Jan 2024 16:48:45 +0000 (11:48 -0500)]
LP#2047158 Annotate Payment Popup Box Skipped When Using Keyboard
Navigation
Changed AngularJS text input modal to submit on keydown instead of
keyup.
This stops the modal from immediately closing after being opened by
the enter key.
Release-note: Fixes annotate payment when using keyboard navigation
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Eva Cerniňáková <cernin@jabok.cz> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jane Sandberg [Thu, 4 Jan 2024 21:58:16 +0000 (13:58 -0800)]
LP1930099: Make generate_docs.pl Windows-compatible
* Use `npx` rather than relying on specific paths to
binaries within node_modules.
* Use the cross-platform $ENV and File::Copy provided
by Perl, rather than using the platform-specific
command-line syntax.
To test on Windows:
1) Use the instructions provided in the comment at
the top of generate_docs.pl.
2) Make sure that the locally generated documentation
displays correctly in your browser.
To test for regressions on Linux or MacOs:
1) `cd /path/to/Evergreen/docs && perl generate_docs.pl`
2) Make sure that the locally generated documentation
at /path/to/Evergreen/docs/output/index.html displays
correctly in your browser.
Release-note: Allow Windows users to generate the Evergreen manual locally.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org>
Jason Boyer [Mon, 9 Sep 2019 19:29:47 +0000 (15:29 -0400)]
LP1525394: Return Titles for All Hold Types in SIP
The SIP Patron Status Response message can include hold
titles if requested by the SIP client. This commit
adds Issuance holds to the previous commit addressing
part holds, and should finally represent full coverage
for our hold types.
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
blake [Fri, 11 Dec 2015 21:28:17 +0000 (15:28 -0600)]
LP1525394 SIP patron part level holds respond blank
Added code to flesh part level hold information in SIP/Patron.pm
In order to test this, you will need to identify a patron who has
a part level hold. Query SIP with a 63 message like:
6300120151211 104201 Y AOhidden|AApatronbarcode|AC|AY1AZF08D
and the server should respond with the title in the |CD field for that
part level hold.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Stephanie Leary [Tue, 19 Dec 2023 23:33:32 +0000 (23:33 +0000)]
LP2046820 Add aria-current to current nav menu item
Adds the aria-current="page" attribute to the Angular staff navigation
menu item corresponding to the page being viewed, and styles that link
with a pale green background.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Shula Link <slink@gchrl.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Wed, 7 Feb 2024 14:02:29 +0000 (09:02 -0500)]
LP#2052567: allow Reports to load when BitWarden plugin is active
This patches works around an issue where the legacy Reports interface
can fail to load if the BitWarden plugin is installed on the
user's browser.
To test
-------
[1] Set up your browser with the BitWarden plugin. It looks like it's
necessary to create an account on the BitWarden service or on
a self-hosted instance in order to exercise the bug.
[2] Attempt to load the Reports interface. It should fail to load.
[3] Apply the patch and repeat step 2. This time, the interface should
load and function normally.
Release-note: Fixes issue where Reports interface would not load if the BitWarden browser plugin is installed
Steven Mayo [Thu, 30 Nov 2023 16:30:49 +0000 (11:30 -0500)]
LP#2028095: Fix typo in Library Setting Description for acq.default_owning_lib_for_auto_lids_strategy
Updated the description for acq.default_owning_lib_for_auto_lids_strategy to the text suggested in the ticket.
Release-note: Improves description of the "How to set default owning library for auto-created line item items" Library Setting
Steps to test:
[1] Run XXXX.data.default_owning_lib_for_auto_lids_strategy_typo_fix.sql or install the seed data anew
[2] Go to Administration -> Local Admin -> Library Settings Editor
[3] Search for acq.default_owning_lib_for_auto_lids_strategy
[4] Read description
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Stephanie Leary [Tue, 12 Dec 2023 17:49:24 +0000 (17:49 +0000)]
LP2023803 Replace btn-warning with appropriate color
Replaces all instances of .btn-warning, which has poor color contrast,
with other button colors. Actions that reset forms or delete data use
.btn-destroy; other instances may use .btn-info or btn-normal depending
on their context.
Terran McCanna [Wed, 24 Jan 2024 18:39:49 +0000 (13:39 -0500)]
LP2051156 Mark Item as Missing Pieces barcode field too wide
Prior to this change, the barcode input field was the full width of
the screen and the submit button was below it. This small change makes
it more consistent with other screens.
Release-note: Fixes overly large barcode field on Mark Item as Missing Pieces page.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
FMRecordEditorComponent was depending on the @reporter:datatype to
identify the primary key (identity) field for an FM class. Instead, it
should check the field name against the @oils_persist:primary attribute
of the <fields> element, which gets around the special case of org unit
id having a declared datatype of "org_unit", and future-proofs against
other possible edge cases.
This commit does that.
To test
-------
[1] Update the Organizational Units page's form to include "id" as
a visible field, a la bug 2051879.
[2] Note that the form display a selector.
[3] Apply the patch and recompile the Angular staff client.
[4] This time, the OU ID should display as a read-only number.
Release-notes: Makes it possible to display the org unit ID as a number on Angular record editor forms for editing org units
Josh Stompro [Thu, 3 Aug 2023 19:58:52 +0000 (14:58 -0500)]
LP#1329872 - marc_export exit when required IDs are missing
The marc_export script would handle being passed invalid or empty
IDs as if you had the --all flag selected. So if you accidentally
generated a file with a list of BIB id numbers that was empty and
passed it to the script, you would end up with an export of all bibs
in the system instead of an empty export.
Testing Notes:
=== Before fix ===
Create an empty file, or a file that just contains "id".
$ touch input1
$ echo "id" > input2
All these commands should result in a full export of all bibs.
Terran McCanna [Fri, 29 Dec 2023 19:58:14 +0000 (14:58 -0500)]
LP2047704 Patrons with Negative Balances - Grid Columns
This adjusts the negative balances grid so that it shows the most
useful columns by default and upon reset. (Before this change,
resetting the columns showed ALL available columns.)
It also adds local column sortability.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Stephanie Leary [Mon, 4 Mar 2024 20:40:15 +0000 (20:40 +0000)]
LP1803788 Gear icon for AngularJS grid settings menu
Changes the icon for the grid settings dropdown menu in AngularJS
screens from the default Bootstrap downward caret to the gear icon, to
match the Angular grid buttons.
Release-note: Ensures that both AngularJS and Angular grids use a gear icon for the grid settings menu.
Galen Charlton [Tue, 5 Mar 2024 20:27:13 +0000 (15:27 -0500)]
LP#2056204: support "Form of item" in MARC editor for electronic resources
This patch adds mappings to the Angular and AngularJS MARC editors
so that the "Form" (form of item) fixed field positions in the 006
and 008 fields are recognized and (in the case of the 008) editable
via the "Form" input when the record type is "m" (electronic resources/computer files).
Release-note: Fixes problem where "Form" value could not be saved in MARC editor for electronic resources.
To test
-------
[1] Open a bib record of type 'm' (electronic resource) in the Angular
MARC editor.
[2] Change the form value with the input labeled "Form".
[3] Note that the corresponding position in the 008 is not updated.
[4] Apply the patch and repeat steps 1-3. This type, the change
should stick.
[5] Bonus: do the same testing in the AngularJS MARC editor.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Stephenson [Thu, 22 Feb 2024 15:29:26 +0000 (10:29 -0500)]
LP2050227: Fix IDL after validation with xmllint
Fix "relteype" for "reltype" typo on line 1490.
Remove redundant (and empty) retrieve permission on old line 7339.
The above resolve errors reported by `xmllint --scheam fm_IDL.xsd
fm_IDL.xml`:
fm_IDL.xml:1490: element link: Schemas validity error : Element
'{http://opensrf.org/spec/IDL/base/v1}link', attribute 'relteype':
The attribute 'relteype' is not allowed.
fm_IDL.xml:1490: element link: Schemas validity error : Element
'{http://opensrf.org/spec/IDL/base/v1}link': The attribute
'reltype' is required but missing.
fm_IDL.xml:7339: element retrieve: Schemas validity error :
Element
'{http://open-ils.org/spec/opensrf/IDL/permacrud/v1}retrieve':
This element is not expected. Expected is one of (
{http://open-ils.org/spec/opensrf/IDL/permacrud/v1}update,
{http://open-ils.org/spec/opensrf/IDL/permacrud/v1}delete ).
fm_IDL.xml fails to validate
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Stephenson [Wed, 21 Feb 2024 15:09:22 +0000 (10:09 -0500)]
LP2050227: Update fm_IDL.xml required fields
Add the oils_obj:required="true" attribute to the IDL fields that are
actually required by the database. A required field is one that
derives from a base table column that has a "NOT NULL" constraint and does
not have a default value.
IDL objects that are virtual or read-only are skipped as are virtual
fields.
Fields that already have the oils_obj:required attribute set are not
changed, even if the fields do not meet our criteria for being
required.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Mon, 18 Mar 2024 15:09:17 +0000 (11:09 -0400)]
LP#1869971: (follow-up) also apply HTML::Defang in the OPAC templates
This patch ensures that HTML::Defang (via the defang_string() TT helper)
is applied to the value of the OPAC custom CSS library setting. This
provides additional protection in cases where questionable values
predate these patches or if another means (such as direct database entry)
is used to set the value of the setting.
Stephanie Leary [Tue, 12 Mar 2024 03:26:11 +0000 (03:26 +0000)]
LP2057432 Add shadows to dropdowns and active tabs
Release-Note: Adds drop shadows to open dropdown menus and active tabs
in the Angular staff interfaces to help set them apart from the contents
of the page.
LP#2034617: improve how AngularJS handles logout BroadcastChannel messages
This patch reduces the risk that if there are multiple tabs of the
AngularJS staff client open, that logging out from one of them will
cause a storm of logout messages on the eg.auth BroadcastChannel.
If the open staff client tabs are all AngularJS, the result of that
storm can freeze the user's browser. However, if one or more of
the tabs are running the Angular client, the Angular tabs can
_also_ make repeated open-ils.auth.session.delete calls at a high
rate of speed, thereby degrading the availability of the
open-ils.auth service.
Testing involves opening up 4 or 5 tabs running the staff client, with
at least three or four of them running the AngularJS client. It
is strongly recommended that testing of this patch be done only on
personal, isolated test Evergreen systems.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Galen Charlton [Tue, 30 Jan 2024 15:19:22 +0000 (10:19 -0500)]
LP#2051599: fix parsing of start and end dates by Cash Reports
This patch fixes a bug where if you open the Cash Reports at a
time of day where the date in the local time zone is different
from the date in UTC and do not interact with the date selectors,
the report will not display payments made during the current day.
The problem was due to the use of Date.toISOString() when
attempting to extract just the date component; since Date.toISOString()
forces the timestamp to UTC. The effect is that if you (say) open
the Cash Reports page in North America sufficiently late in the date,
the date selectors will display your current date, but the query
to fetch payment information will (silently) supply the following day.
To test
-------
[1] Make some patron bill payments.
[2] Open the Cash Reports at a time of day when an UTC clock would
report a different date from your local date. Observe that no
payments are listed or that payments from the previous day are
listed.
[3] Apply the patch and repeat step 2. This time, opening the Cash
Reports page should show the payments for the current day.
Release-note: Fix bug that could cause the Cash Reports page to display payments for the wrong day.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Galen Charlton [Tue, 23 Jan 2024 16:57:53 +0000 (11:57 -0500)]
LP#1779743: add privilege expiration date to Group Member Details
This patch adds the privilege expiration date to the list
of available columns in the AngularJS group member details
page. No equivalent change is needed to the experimental Angular
circ interface, as that column is already available there.
To test
-------
[1] Apply the patch.
[2] Navigate to a patron in the Evergreen staff interface
and view the Group Member Details page.
[3] Verify that the privilege expiration date is now available
in the column selector.
Release-note: Add privilege expiration date column to Group Member Details table
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Jane Sandberg [Mon, 11 Mar 2024 03:20:42 +0000 (20:20 -0700)]
LP2056480: docs: only index the latest version of the docs for lunr
This addresses a regression caused by bug 2056480.
To test:
* Build the docs using
cd docs
perl generate_docs.pl --base-url=http://example.com
* Open docs/output/index.html in your browser
* Type a search into the search box
* Note that you only get results for latest, rather than getting duplicate
results from multiple versions.
* Note that the file docs/output/search-index.js is now 3.3 MB, rather than
5.53 MB.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
* Update generate_docs.pl help text to note the new
default version
* Clean up more aggressively before installing Antora; I
discovered that if you switch from 2.3 to 3.1.7 without
doing so, the older version of the CLI still gets used
(and fails because 2.3 predates Antora's extension mechanism)
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>